package com.ydd.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.ydd.dto.YddArticleDto;
import com.ydd.dto.YddArticlePageDto;
import com.ydd.dto.*;
import com.ydd.entity.YddArticle;
import com.ydd.result.Result;

/**
 * <p>
 *  服务类
 * </p>
 *
 * @author zhangxiaojun
 * @since 2023-05-14
 */
public interface YddArticleService extends IService<YddArticle> {
    /**
     *查看我的文章
     * @param dto
     * @return
     */
    Result myArticlePage(MyArticlePageDTO dto);

    /**
     * 添加文章
     * @param yddArticle
     * @return
     */
    boolean addArticle(YddArticle yddArticle);

    /**
     * 删除文章
     * @param id
     * @return
     */
    boolean deleteById(Long id);

    /**
     * 文章分类详情请
     * @param id
     * @return
     */
    YddArticleDto getCateById(Long id);

    /**
     * 修改文章
     * @param yddArticle
     * @return
     */
    boolean updateArticle(YddArticle yddArticle);

    /**
     * 分页查询
     * @param dto
     * @return
     */
    Result YddArticleList(YddArticlePageDto dto);
    /**
     * 根据id查看文章
     * @param id
     * @return
     */
    Result selectByArticleId(Long id);
    /**
     * 修改文章
     * @param dto
     * @return
     */
    Result editArticle(EditArticleDTO dto);
    /**
     * 点赞/取消点赞和收藏/取消收藏
     * @return
     */
    Result userDataHandle(UserDataHandleDTO dto);
    /**
     * 发布文章
     * @return
     */
    Result addArticle(AddArticleDTO dto);
    /**
     * 删除我的文章
     *
     * @return
     */
    Result delArticle(Long id);
}
